The Sarnoff (Princeton, N.J.) DVD Audio/Video Decoder accepts unscrambled DVD Streams, MPEG-1 System Streams, or MPEG-2 Program Streams, decodes the audio and video payloads, and automatically synchronizes the decoded audio and video outputs without requiring host software intervention. It also accepts and decodes sequences of audio and video PES packets, for use with external Digital Broadcast System (DBS) transport stream demultiplexers. The system processor is designed to operate with a minimum of 4 Mbytes of external SDRAM. It supports an input data rate of 64 MBits/sec and a video bit rate of 15 MBits/sec. The host initializes the decoder by resetting it and configuring the desired audio and video options. During operation, the decoder issues interrupts to notify the host that video user data, audio ancillary data, or system-level PSI data are available for retrieval from SDRAM, that specific data buffers are empty or full, or that bitstream errors have been detected. The host reads an interrupt status register to determine the nature of each interrupt.
Audio-video (AV) playback chains are often split up to be processed by more than one processor. So it is important for the peripheral devices to provide periodic interrupts and to be accessible by all these processors. If such access to the renderer peripheral is through common memory-mapped input-out (MMIO) registers, then the renderer peripheral access to the processor directly controlling it should be staggered with the other processors to avoid race conditions and stalls.
Conventional circuits and methods provide only one hardwired interrupt output from the AV renderer peripheral. The processors assigned to service the interrupt with their interrupt service routine (ISR) software can race each other to the single interrupt. Even processors that are not triggered by hardwired interrupts to service AV renderer peripheral can nevertheless get into races and collide causing stalls.